package com.itheima.tliasmanagementspringboot.mapper;


import com.itheima.tliasmanagementspringboot.pojo.Dept;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper//1.创建代理对象,2.将代理对象放入IOC容器中
public interface DeptMapper {

    /**
     * 功能: 从数据库中查询部门信息
     * @return 部门信息的集合
     */
    @Select("select * from dept")
    List<Dept> queryAllDeptMapper();

    /**
     * 功能: 根据id查询部门信息
     * @return 查询到的部门信息的集合
     */
    @Select("select * from dept where id=#{id}")
    Dept queryDeptByConditionMapper(Integer id);

    /**
     * 功能: 根据部门name查询是否有次部门
     * @return 查询到的名为name的部门的数量
     */
    @Select("select count(*) from dept where name=#{name}")
    Integer queryDeptNameByNameMapper(String name);


    /**
     * 功能: 根据id删除部门信息
     */
    @Delete("delete from dept where id=#{id}")
    void deleteDeptById(Integer id);

    /**
     * 功能: 添加/插入一条部门信息
     *
     * @param dept
     */
    void insertDeptMapper(Dept dept);

    /**
     * 功能:根据id更新部门信息
     * @param dept :部门id
     */
    void updateDeptByIdMapper(Dept dept);
}
